home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #6 / Amiga Plus CD - 1996 - No. 06.iso / pd / tools / frexxed / fpl / safeauto.fpl < prev    next >
Text File  |  1995-07-18  |  1KB  |  54 lines

  1. /******************************
  2.  * Read SafeAuto.FPL.README!  *
  3.  * Written by Daniel Stenberg *
  4.  ******************************/
  5. export int ASave_hook(int ID)
  6. {
  7.   string newname;
  8.   string bdir = ReadInfo("asave_path");
  9.   if(!strlen(bdir))
  10.     bdir = ReadInfo("file_path", ID);
  11.   newname = joinstr(bdir, "#", ReadInfo("file_name", ID), "#");
  12.   SetInfo(-1, "_asave", 1);
  13.   Save(newname);
  14.   SetInfo(-1, "_asave", 0);
  15.   SetInfo(-1, "changes", 1);
  16. }
  17.  
  18. export int Asave_hook(string file, string pack)
  19. {
  20.   string cmd;
  21.   string bdir = ReadInfo("asave_path");
  22.   if(!strlen(bdir))
  23.     bdir = ReadInfo("file_path");
  24.   cmd = joinstr("delete FORCE QUIET FILE \"",
  25.                 bdir, "'#", ReadInfo("file_name"), "'#\"");
  26.   System(cmd);
  27. }
  28.  
  29. export int Asave_getf(string path, string file)
  30. {
  31.   string bdir = ReadInfo("asave_path");
  32.   string newname;
  33.   if(!strlen(bdir))
  34.     bdir = path;
  35.   newname = joinstr(bdir, "#", file, "#");
  36.   if(Check(newname)) {
  37.     if(Request(joinstr("Autosave file found:\n",
  38.                        newname, "\nDo you want to load that instead?"))) {
  39.       SetInfo(-1, "_asave", 1);
  40.       Load(newname);
  41.       SetInfo(-1, "_asave", 0);
  42.       Rename(joinstr(path, file));
  43.       return 1;
  44.     }
  45.   }
  46. }
  47.  
  48. Hook("GetFile", "Asave_getf", "!_asave");
  49.  
  50. ConstructInfo("_asave", "", "", "LHB(io)", "", 0, 1, 0);
  51. ConstructInfo("asave_path", "", "", "GSW(io)", "", 0, 0);
  52. Hook("Save", "Asave_hook", "!_asave");
  53. Hook("AutoSave", "ASave_hook");
  54.